#title: 用json文件声明Aop切片
#author:wendal(wendal1985@gmail.com)
#index:0,1
--------------------------------------------------------------------------------------------------------
需使用的类

	* org.nutz.ioc.aop.config.impl.JsonAopConfigration

--------------------------------------------------------------------------------------------------------
看看一个示例的ioc配置文件

	配置示例:
	{{{<json>
	var ioc = {
		log : {
			type :'org.nutz.aop.interceptor.LoggingMethodInterceptor'
		},
		myMI : {
			type : 'org.nutz.ioc.aop.config.impl.MyMI'
		},
		pet2 : {
		type : "org.nutz.ioc.aop.config.impl.Pet2"
		},
		
		$aop : {
			type : 'org.nutz.ioc.aop.config.impl.JsonAopConfigration',
			fields : {
				itemList : [
					['.+','toString','ioc:log'],
					['.+','.+','ioc:myMI'],
					['.+','.+','org.nutz.ioc.aop.config.impl.MyMI2','false']
				]
			}
		}
	}
	}}}
	可以看到, 除了$aop这个beanName外,其他的与普通的ioc配置文件没有任何区别.
	
	$aop ,其实是org.nutz.ioc.aop.config.AopConfigration接口的IOCNAME字段的值,
	只有你声明这个名字,且类型为这个接口的实现,就能轻易的配置Ioc.
	
	估计你已经猜到,org.nutz.ioc.aop.config.impl.JsonAopConfigration就是其中一个实现!
	
	细看这个部分代码:
	{{{<JSON>
			fields : {
				itemList : [
					['.+','toString','ioc:log'],
					['.+','.+','ioc:myMI'],
					['.+','.+','org.nutz.ioc.aop.config.impl.MyMI2','false']
				]
			}
	}}}
	
	使用JsonAopConfigration,只需要为其itemList赋值.
	
	需要什么值? 对,一个数组.
	
	数组的每一行,对应一条规则:
	{{{<JSON>
	['.+','toString','ioc:log'],
	['.+','.+','ioc:myMI']
	['com\.wendal\.nutz\..+','get.+','org.nutz.ioc.aop.config.impl.MyMI2','false']
	}}}
	
	规则如下:
		* 第一个值,对应className,必选,用于匹配类的全称的正则表达式
		* 第二个值,对应methodName,必选,用于匹配方法名的正则表达式
		* 第三个值,对应interceptorName,必选,如果以ioc:开头,则代表对于ioc容器的一个对象,否则,将认为是一个类名
		* 第四个值,对应singleton,可选,仅当interceptorName为类名时有效